home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / TUTORIAL / 0222.ZIP / VIDEO.ASM < prev    next >
Assembly Source File  |  1982-06-20  |  1KB  |  45 lines

  1. ;  COPYRIGHT 1982 BY WALTER H RAUSER
  2.        PAGE 50,80
  3. TITLE VIDEO2  -- PASCAL PROCEDURE FOR VIDEO IO
  4. ;
  5. ;PROCEDURE VIDEO( AX2DX:ARRAY[1..4] OF WORD); EXTERN;
  6.  
  7. ;
  8. ;FRAME STRUCTURE
  9. ;OFFSET   LEN    VARIABLE DEF
  10. ;                see Tech Ref Manual, page A-43 for definitions
  11. ;[BP]+ 6   2     AX_DX  - VarP to 8 byte array/record; 
  12. ;                (low)  AL,AH,BL,BH,CL,CH,DL,DH (high memory)
  13. ;      4   2     SEGMENT FOR RETURN ADDRESS
  14. ;      2   2     OFFSET  FOR RETURN ADDRESS
  15. ;[BP]+ 0   2     OLD FRAME POINTER
  16. ;
  17. ;
  18. WHR1   SEGMENT  PARA  PUBLIC  'CODE'
  19.        ASSUME   CS:WHR1    ;DS:DGROUP,SS:DGROUP
  20.        PUBLIC   VIDEO
  21. ;
  22. VIDEO  PROC FAR
  23.        PUSH BP          ;old frame pointer
  24.        MOV BP,SP        ;new frame pointer
  25.        MOV SI,[BP].6    ;addr of reg array
  26.        MOV AX,[SI].0    ;load AX
  27.        MOV BX,[SI].2    ;load BX
  28.        MOV CX,[SI].4    ;load CX
  29.        MOV DX,[SI].6    ;load DX
  30. ;
  31.        INT 10H          ;VIDEO_IO in BIOS, A-43
  32. ;                       ;flags not on stack
  33. ;
  34.        MOV SI,[BP].6    ;addr of reg array
  35.        MOV [SI].0,AX    ;return AX
  36.        MOV [SI].2,BX    ;return BX
  37.        MOV [SI].4,CX    ;return CX
  38.        MOV [SI].6,DX    ;return DX
  39. ;
  40.        POP BP           ;restore frame pointer
  41.        RET 2            ;pop parameters
  42. VIDEO  ENDP
  43. WHR1   ENDS
  44.        END
  45.